package desarrolloweb.proyecto.sis.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import desarrolloweb.proyecto.sis.model.Eventos;

@Repository
public class EventosDaoImp implements EventosDao {

	@PersistenceContext
	private EntityManager em;
	
	@Transactional
	public Eventos create(Eventos evento) {
		
		if (evento.getId() == null) {
			em.persist(evento);
			return evento;
		} else {
			em.merge(evento);
			return evento;
		}
	 
	}

	public Eventos update(Eventos evento) {
		return em.merge(evento);
		
	}

	public void delete(Eventos evento) {
		em.createQuery("delete from Eventos e where e.id=:id").setParameter("id", evento.getId()).executeUpdate();
	}

	public List<Eventos> findAll() {
		
		return (List<Eventos>) em.createQuery("from Eventos").getResultList();
    		 
	}

}
